package com.summer.peony.system.service;

import java.util.List;

import com.github.pagehelper.PageInfo;
import com.summer.peony.common.entity.AjaxResult;
import com.summer.peony.system.pojo.SysRole;

/**
 * @ClassName: SysRoleService
 * @Description: TODO(角色管理业务层接口)
 * @author: TaoGe
 * @date: 2020年6月30日 上午11:41:02
 * @version: v0.0.1
 */
/**
 * @ClassName: SysRoleService
 * @Description: TODO(这里用一句话描述这个类的作用)
 * @author: TaoGe
 * @date: 2020年11月2日 下午3:35:25
 * @version: v0.0.1
 */
public interface SysRoleService {

	/**
	 * 新增角色
	 * 
	 * @param sysRole
	 * @return AjaxResult
	 * @author: TaoGe
	 * @date: 2020年6月30日 下午1:13:47
	 * @throws:
	 */
	AjaxResult insert(SysRole sysRole);

	/**
	 * 删除角色
	 * 
	 * @param roleId
	 * @return Integer
	 * @author: TaoGe
	 * @date: 2020年6月30日 下午1:14:04
	 * @throws:
	 */
	Integer deleteByPrimaryKey(Integer roleId);

	/**
	 * 修改角色
	 * 
	 * @param sysRole
	 * @return AjaxResult
	 * @author: TaoGe
	 * @date: 2020年6月30日 下午1:14:21
	 * @throws:
	 */
	AjaxResult updateByPrimaryKey(SysRole sysRole);

	/**
	 * 分页查询列表
	 * 
	 * @Description: TODO(描述这个方法的作用)
	 * @param roleName
	 * @param roleCode
	 * @param pageNum
	 * @param pageSize
	 * @return PageInfo<SysRole>
	 * @author: TaoGe
	 * @date: 2020年11月2日 下午3:37:31
	 * @throws:
	 */
	PageInfo<SysRole> selectAllRoles(String roleName, String roleCode, Integer pageNum, Integer pageSize);

	/**
	 * 查询单个角色
	 * 
	 * @param userId
	 * @return SysRole
	 * @author: TaoGe
	 * @date: 2020年6月30日 下午1:16:00
	 * @throws:
	 */
	SysRole selectByPrimaryKey(Integer roleId);

	/**
	 * @Description: TODO(查询角色列表)
	 * @return List<SysRole>
	 * @author: TaoGe
	 * @date: 2021年1月28日 下午2:11:43
	 * @throws:
	 */
	List<SysRole> selectRolelist();

}
